ConvertToYUY2(clip)
ConvertToRGB(clip)
|
AVISynth способен внутри работать с двумя форматами цвета,
RGB и YUY2. Описываемые два фильтра конвертируют между ними.
Если видео уже в нужно формате, оно не изменяется
|
|
В AVISynth следующие фильтры не поддерживают RGB формат:
- SpatialSoften
- TemporalSoften
- FixLuminance
- FixBrokenChromaUpsampling
- PeculiarBlend
- Все VirtualDub и VFAPI плагины.
|
|
Если вы попытаетесь использовать любой из этих фильтров с RGB источником,
то получите ошибку. Вставка ConvertToYUY2 непосредственно перед
вызвавшим её фильтром должно решить проблему. Все фильтры AVISynth
поддерживают YUY2 формат.
|
|
В большинстве случаев в фильтре ConvertToRGB нет необходимости.
Если выход AVISynth в YUY2 формате, а приложение
ожидает RGB, системы использует установленный YUY2
кодек и выполнит преобразование. Однако, если кодек YUY2 не установлен,
или если (как например в случае кодека ATI's YUY2)
кодек преобразует из YUY2 в RGB неверно, можно использовать
встроенный в AVISynth фильтр.
|
|
HuffYUV действует как системный YUY2 кодек если
нет других установленных кодеков. Так что если вы установите HuffYUV
и уберёте все другие YUY2 кодеки, вам никогда
не понадобиться ConvertToRGB .
|
Пример: |
# Имеется небольшое искажение вызываемое преобразованием между YUV и RGB
# Посмотрим, как это можно увидеть
control = ConvertToYUY2()
test1 = ConvertToRGB(ConvertToYUY2(ConvertToRGB(control)))
test2 = ConvertToYUY2(ConvertToRGB(ConvertToYUY2(test1)))
return Subtract(test2,control)
|